import java.util.Scanner;

@SuppressWarnings({"all"})
public class Test {
    public static void main(String[] args) {
        while (true) {
            int pages = 0;// 定义页面框数
            int num = 0;// 定义选择数字
            Scanner scan = new Scanner(System.in);
            System.out.println("请输入用户访问序列走向：");
            String str = scan.nextLine();// 获取序列
            String[] str1 = str.split(" ");// 将获取的访问序列用分隔符空格分装到字符串数组里
            int[] seq = new int[str1.length];// 定义访问序列
            for (int i = 0; i < str1.length; i++) {
                seq[i] = Integer.valueOf(str1[i]);// 将String数组转化为int数组
            }
            System.out.println("请输入页面框数：");
            pages = scan.nextInt();// 获取页面框数
            System.out.println("**** 1、FIFO ****");
            System.out.println("**** 2、LRU ****");
            System.out.println("**** 3、OPT ****");
            num = scan.nextInt();// 获取选择的数字
            switch (num) {
                case 1:
                    new FIFO().F(seq, pages);
                    break;
                case 2:
                    new LRU().L(seq, pages);
                    break;
                case 3:
                    new OPT().O(seq, pages);
                    ;
                    break;
                default:
                    System.out.println("输入错误，请重新输入");
                    break;
            }
        }
    }
}
